//package com.inspur.edp.udt.generator.core.rtgenerator.entity.vals;
//
//
//import com.inspur.edp.caf.generator.baseInfo.TypeInfo;
//import com.inspur.edp.cef.rtgenerator.entitygen.EntityGeneratorContext;
//import com.inspur.edp.cef.rtgenerator.entitygen.validation.field.B4SaveGetValidationsFieldGenerator;
//import com.inspur.edp.cef.spi.entity.AbstractPropertyInfo;
//import com.inspur.edp.udt.core.comp.validation.TplRequiredValDecorator;
//import java.util.stream.Collectors;
//import org.eclipse.jdt.core.dom.ClassInstanceCreation;
//import org.eclipse.jdt.core.dom.Expression;
//
//public class UdtB4SaveGetValsFieldGenerator extends B4SaveGetValidationsFieldGenerator
//{
//	public UdtB4SaveGetValsFieldGenerator(EntityGeneratorContext entityContext, String nodeCode, java.lang.Class basicGenOccasionAttr, java.lang.Class extendGenOccasionAttr)
//	{
//		super(entityContext, nodeCode, basicGenOccasionAttr, extendGenOccasionAttr);
//	}
//
//	@Override
//	protected Expression getCreateRequiredValAdaptorSyntax(AbstractPropertyInfo pInfo)
//	{
////C# TO JAVA CONVERTER TODO TASK: There is no equivalent to implicit typing in Java:
//		Expression baseSyntax = super.getCreateRequiredValAdaptorSyntax(pInfo);
//		if(pInfo.getRequiredAsConstraint())
//				return baseSyntax;
//		ClassInstanceCreation classInstanceCreation = ast.newClassInstanceCreation();
//		classInstanceCreation.setType(new TypeInfo(TplRequiredValDecorator.class).getType(ast, this.entityContext.getProjContext().getRootCompileUnitGenCtx()));
//		classInstanceCreation.arguments().add(baseSyntax);
//		return classInstanceCreation;
//	}
//
//	@Override
//	protected Iterable<AbstractPropertyInfo> getRequiredPropertyInfos() {
//		return entityContext.getProjContext().getCurrentTypeInfo().getEntityEntityTypeInfos()
//				.get(nodeCode).getPropInfos()
//				.stream().filter(item -> item.getRequired() || !item.getRequiredAsConstraint()).collect(
//						Collectors.toList());
//	}
//}